package com.example.denglu;

import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

public class HomeActivity extends AppCompatActivity {

    // 私有成员：保存当前登录用户名
    private String mUsername;
    private Button btnLogout;
    private Button btnMine;
    private TextView tvCurrentUser;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 关联布局文件（必须与步骤4.1的布局文件名一致）
        setContentView(R.layout.activity_home);

        initViews();       // 初始化控件
        receiveUsername(); // 接收登录页传递的用户名
        setListeners();    // 设置按钮监听
    }

    // 初始化所有控件（通过ID绑定布局中的按钮、文本框）
    private void initViews() {
        btnLogout = findViewById(R.id.btn_logout);
        btnMine = findViewById(R.id.btn_mine);
        tvCurrentUser = findViewById(R.id.tv_current_user);
    }

    // 接收登录页传递的用户名并显示
    private void receiveUsername() {
        Intent intent = getIntent();
        if (intent != null && intent.hasExtra("USERNAME")) {
            mUsername = intent.getStringExtra("USERNAME");
            tvCurrentUser.setText("当前登录：" + mUsername); // 显示格式：当前登录：test
        }
    }

    // 设置按钮点击事件
    private void setListeners() {
        // 1. 退出登录：弹出确认对话框
        btnLogout.setOnClickListener(v -> new AlertDialog.Builder(this)
                .setTitle("退出登录")
                .setMessage("确定要退出当前账号吗？")
                .setPositiveButton("确定", (dialog, which) -> finish()) // 关闭首页，返回登录页
                .setNegativeButton("取消", (dialog, which) -> dialog.dismiss()) // 关闭对话框
                .show());

        // 2. 我的按钮：跳转个人信息编辑页（传递用户名）
        btnMine.setOnClickListener(v -> {
            Intent intent = new Intent(HomeActivity.this, ProfileEditActivity.class);
            intent.putExtra("USERNAME", mUsername); // 传递用户名到个人信息页
            startActivity(intent);
        });
    }
}